1. Technical Field
This invention relates to integrated circuits, and more particularly, to techniques for implement storage elements within integrated circuits.
2. Description of the Related Art
Processors, and other types of integrated circuits, typically include a number of logic circuits composed of interconnected transistors fabricated on a semiconductor substrate. Such logic circuits may be constructed according to a number of different circuit design styles. For example, combinatorial logic may be implemented via a collection of un-clocked static complementary metal-oxide semiconductor (CMOS) gates situated between clocked state elements such as flip-flops or latches. Alternatively, depending on design requirements, some combinatorial logic functions may be implemented using clocked dynamic logic, such as domino logic gates.
Flip-flops or latches typically employed for general-purpose data storage and their ability to store data make sequential and state logic design possible. For example, latches and flip-flops may be used to implement counters or other state machines. Additionally, latches and flip-flops may be used in a datapath design such as, e.g., an adder or multipler, or in the implementation of a memory-type structure such as a register or register file, for example.
Latches may be sensitive to the level of a clock signal, while flip-flops may respond to the edge of the clock signal. Flip-flops may be designed in accordance with various design styles such as, e.g., D-type, set-reset, JK, or toggle, for example. Different styles of flip-flops with different characteristics, such as, e.g., data setup time and clock-to-output time, may be employed in a digital logic design in order to meet design goals.